#pragma once


#include "ServerImp.h"

namespace frame {
namespace imp {

class HeartBeatServerImp;

class HeartBeatHandlerImp: public HandlerImp {
public:
    HeartBeatHandlerImp(HandlerImp * handlerImp);
    ~HeartBeatHandlerImp() override ;

    void connected(ServerChannelImp* serverChannelImp) override ;
    void disconnected(ServerChannelImp* serverChannelImp, Error error) override ;

    void read(ServerChannelImp * serverChannelImp, const char * buf,  std::size_t size) override ;
    void readException(ServerChannelImp * serverChannelImp, int error) override ;

    void writed(ServerChannelImp * serverChannelImp, std::size_t size) override ;
    void writeException(ServerChannelImp * serverChannelImp, int error) override ;

private:
    HandlerImp * handlerImp;
};


} //end of namespace  imp
} //end of namespace  frame
